// let buf = new ArrayBuffer(16) // 在内存中分配16字节
// console.log(buf.byteLength);
// console.log(buf);
// let buf1 = buf.slice(4, 8)
// console.log(buf1);
// let buf = new ArrayBuffer(16) // 在内存中分配16字节
// let fullDataView = new DataView(buf) // 创建视图
// console.log(fullDataView.byteOffset); // 视图在缓冲中的开始位置
// console.log(fullDataView.byteLength); // 16
// console.log(fullDataView.buffer);

// let DataView1 = new DataView(buf, 0, 8)
// console.log(DataView1.byteOffset);
// console.log(DataView1.byteLength);
// console.log(DataView1.buffer);

// let buf = new ArrayBuffer(2) // 分配两个字节的内存
//   // console.log(buf.byteLength);
// let view = new DataView(buf) // 默认占用全部缓冲
//   // console.log(view.buffer);
//   // console.log(view.byteOffset); // 0
//   // console.log(view.byteLength); // 16

// console.log(view.getInt8(0));
// console.log(view.getInt8(1));
// console.log(view.setInt16(0, -1));
// console.log(view.buffer);
// console.log(view.getInt8(0));

// const buf = new ArrayBuffer(12)
// const ints = new Int32Array(buf) //
// console.log(ints.length);

// const ints = new Int32Array(6)
// console.log(ints.length);
// console.log(ints.buffer)

// const ints = new Int32Array([1, 2, 3, 4])
// console.log(ints.buffer);


// let arr = [1, 2, 3, 4, 5, 6, 7, 8, 9]
// console.log(arr.copyWithin(2, 6, 7));
// console.log(arr.valueOf());
// console.log(arr.toLocaleString());

// const container = new Int16Array(8)
// container.set([1, 2], 2)
// console.log(container);

// const container = new Int16Array([1, 2, 3, 4])
// console.log(container.subarray(1, 2));

// function myConcat(typeArrayConstructor, ...typeArrays) { 
//   // 元素的个数
//   let numElements = typeArrays.reduce((prev, cur) => {
//     return prev + cur
//   })

//   let resultArray = new typeArrayConstructor(numElements)
//   let index = 0
//   typeArrays.forEach(array => {
//     resultArray.set(array, index)
//     index += array.length
//   })
//   return resultArray
// }

// const m = new Map([
//   []
// ])
// console.log(m.size);
// console.log(m.has(undefined));
// console.log(m.get(undefined));

// const m = new Map()
// m.set('name', 'cuifan').set("obj", {
//   name: 'cuifan',
//   age: 20
// })
// console.log(m);
// m.delete('obj')
// console.log(m);
// m.clear()
// console.log(m);
// let obj = {
//   1: 'name'
// }
// console.log(Object.keys(obj));